[INFO] fetching crate luther 0.1.0...
[INFO] fixing luther-0.1.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate luther 0.1.0 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate luther 0.1.0
[INFO] finished tweaking crates.io crate luther 0.1.0
[INFO] tweaked toml for crates.io crate luther 0.1.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate luther 0.1.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 50 packages to latest compatible versions
[INFO] [stderr]       Adding encode_unicode v0.3.6 (available: v1.0.0)
[INFO] [stderr]       Adding quickcheck v0.6.2 (available: v1.1.0)
[INFO] [stderr]       Adding regex v0.2.11 (available: v1.12.4)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `luther` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] bf04756ea8f8599c8052aa8662bc29e2752e7ba68c44caf1e3281edbfc7eded2
[INFO] running `Command { std: "docker" "start" "bf04756ea8f8599c8052aa8662bc29e2752e7ba68c44caf1e3281edbfc7eded2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bf04756ea8f8599c8052aa8662bc29e2752e7ba68c44caf1e3281edbfc7eded2" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bf04756ea8f8599c8052aa8662bc29e2752e7ba68c44caf1e3281edbfc7eded2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bf04756ea8f8599c8052aa8662bc29e2752e7ba68c44caf1e3281edbfc7eded2" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2015 edition to 2018
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `luther` (manifest) generated 1 warning
[INFO] [stderr]     Checking humantime v1.3.0
[INFO] [stderr]     Checking assert_matches v1.5.0
[INFO] [stderr]     Checking backtrace v0.3.76
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking env_logger v0.5.13
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking quickcheck v0.6.2
[INFO] [stderr]     Checking luther v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2015 edition to 2018
[INFO] [stderr]        Fixed src/lib.rs (2 fixes)
[INFO] [stderr]        Fixed src/dfa.rs (2 fixes)
[INFO] [stderr]    Migrating tests/token_tests.rs from 2015 edition to 2018
[INFO] [stderr]        Fixed tests/token_tests.rs (2 fixes)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.02s
[INFO] [stderr] crater-edition-check: luther v0.1.0 (/opt/rustwide/workdir) updating edition from 2015 to 2018
[INFO] [stderr]     Checking luther v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/spanned.rs:153:17
[INFO] [stdout]     |
[INFO] [stdout] 153 |     E: Into<Box<::std::error::Error + Send + Sync>>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 153 |     E: Into<Box<dyn (::std::error::Error + Send + Sync)>>,
[INFO] [stdout]     |                 +++++                                 +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/error.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_LexError`
[INFO] [stdout] 15 | pub enum LexError<F: Fail> {
[INFO] [stdout]    |          -------- `LexError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/error.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_LexError`
[INFO] [stdout] 15 | pub enum LexError<F: Fail> {
[INFO] [stdout]    |          -------- `LexError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/spanned.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Fail, Debug)] // COV_EXCL_LINE
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Fail` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Never`
[INFO] [stdout] 21 | pub enum Never {}
[INFO] [stdout]    |          ----- `Never` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/spanned.rs:153:17
[INFO] [stdout]     |
[INFO] [stdout] 153 |     E: Into<Box<::std::error::Error + Send + Sync>>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 153 |     E: Into<Box<dyn (::std::error::Error + Send + Sync)>>,
[INFO] [stdout]     |                 +++++                                 +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/error.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_LexError`
[INFO] [stdout] 15 | pub enum LexError<F: Fail> {
[INFO] [stdout]    |          -------- `LexError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/error.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_LexError`
[INFO] [stdout] 15 | pub enum LexError<F: Fail> {
[INFO] [stdout]    |          -------- `LexError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused arithmetic operation that must be used
[INFO] [stdout]    --> src/span.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |         Location::new(usize::max_value()) + 3;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the arithmetic operation produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let _ = Location::new(usize::max_value()) + 3;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/dfa.rs:283:21
[INFO] [stdout]     |
[INFO] [stdout] 283 |     #[derive(Debug, Fail)] // COV_EXCL_LINE
[INFO] [stdout]     |                     ^---
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `Fail` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_NoFail`
[INFO] [stdout] 284 |     #[fail(display = "The impossible has happend: NoFail has failed.")]
[INFO] [stdout] 285 |     struct NoFail {}
[INFO] [stdout]     |            ------ `NoFail` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/dfa.rs:283:21
[INFO] [stdout]     |
[INFO] [stdout] 283 |     #[derive(Debug, Fail)] // COV_EXCL_LINE
[INFO] [stdout]     |                     ^---
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `Display` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_NoFail`
[INFO] [stdout] 284 |     #[fail(display = "The impossible has happend: NoFail has failed.")]
[INFO] [stdout] 285 |     struct NoFail {}
[INFO] [stdout]     |            ------ `NoFail` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/dfa.rs:289:21
[INFO] [stdout]     |
[INFO] [stdout] 289 |     #[derive(Debug, Fail, Clone)]
[INFO] [stdout]     |                     ^---
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `Fail` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_FakeError`
[INFO] [stdout] 290 |     enum FakeError {
[INFO] [stdout]     |          --------- `FakeError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/dfa.rs:289:21
[INFO] [stdout]     |
[INFO] [stdout] 289 |     #[derive(Debug, Fail, Clone)]
[INFO] [stdout]     |                     ^---
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `Display` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_FakeError`
[INFO] [stdout] 290 |     enum FakeError {
[INFO] [stdout]     |          --------- `FakeError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/spanned.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Fail, Debug)] // COV_EXCL_LINE
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Fail` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Never`
[INFO] [stdout] 21 | pub enum Never {}
[INFO] [stdout]    |          ----- `Never` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.49s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2015 edition to 2018
[INFO] [stderr]     Checking luther v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr] error: errors present after applying fixes to crate `luther`
[INFO] [stderr]  --> src/spanned.rs
[INFO] [stderr]   = cause: error: incorrect parentheses around trait bounds
[INFO] [stderr]               --> src/spanned.rs:153:21
[INFO] [stderr]                |
[INFO] [stderr]            153 |     E: Into<Box<dyn (::std::error::Error + Send + Sync)>>,
[INFO] [stderr]                |                     ^                                 ^
[INFO] [stderr]                |
[INFO] [stderr]            help: fix the parentheses
[INFO] [stderr]                |
[INFO] [stderr]            153 -     E: Into<Box<dyn (::std::error::Error + Send + Sync)>>,
[INFO] [stderr]            153 +     E: Into<Box<(dyn ::std::error::Error + Send + Sync)>>,
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `E: Into<Box<(dyn std::error::Error + Send + Sync + 'static)>>` is not satisfied
[INFO] [stderr]               --> src/spanned.rs:155:48
[INFO] [stderr]                |
[INFO] [stderr]            155 |     io::Error::new(io::ErrorKind::InvalidData, error)
[INFO] [stderr]                |     --------------                             ^^^^^ the trait `std::error::Error` is not implemented for `E`
[INFO] [stderr]                |     |
[INFO] [stderr]                |     required by a bound introduced by this call
[INFO] [stderr]                |
[INFO] [stderr]                = note: required for `Box<(dyn std::error::Error + Send + Sync + 'static)>` to implement `From<E>`
[INFO] [stderr]                = note: required for `E` to implement `Into<Box<(dyn std::error::Error + Send + Sync + 'static)>>`
[INFO] [stderr]            note: required by a bound in `std::io::Error::new`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/io/error.rs:255:4
[INFO] [stderr]            help: consider further restricting type parameter `E` with trait `Error`
[INFO] [stderr]                |
[INFO] [stderr]            153 |     E: Into<Box<dyn (::std::error::Error + Send + Sync)>> + std::error::Error,
[INFO] [stderr]                |                                                           +++++++++++++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `E: Into<Box<(dyn std::error::Error + Send + Sync + 'static)>>` is not satisfied
[INFO] [stderr]               --> src/spanned.rs:155:48
[INFO] [stderr]                |
[INFO] [stderr]            155 |     io::Error::new(io::ErrorKind::InvalidData, error)
[INFO] [stderr]                |     --------------                             ^^^^^ the trait `Send` is not implemented for `E`
[INFO] [stderr]                |     |
[INFO] [stderr]                |     required by a bound introduced by this call
[INFO] [stderr]                |
[INFO] [stderr]                = note: required for `Box<(dyn std::error::Error + Send + Sync + 'static)>` to implement `From<E>`
[INFO] [stderr]                = note: required for `E` to implement `Into<Box<(dyn std::error::Error + Send + Sync + 'static)>>`
[INFO] [stderr]            note: required by a bound in `std::io::Error::new`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/io/error.rs:255:4
[INFO] [stderr]            help: consider further restricting type parameter `E` with trait `Send`
[INFO] [stderr]                |
[INFO] [stderr]            153 |     E: Into<Box<dyn (::std::error::Error + Send + Sync)>> + std::marker::Send,
[INFO] [stderr]                |                                                           +++++++++++++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `E: Into<Box<(dyn std::error::Error + Send + Sync + 'static)>>` is not satisfied
[INFO] [stderr]               --> src/spanned.rs:155:48
[INFO] [stderr]                |
[INFO] [stderr]            155 |     io::Error::new(io::ErrorKind::InvalidData, error)
[INFO] [stderr]                |     --------------                             ^^^^^ the trait `Sync` is not implemented for `E`
[INFO] [stderr]                |     |
[INFO] [stderr]                |     required by a bound introduced by this call
[INFO] [stderr]                |
[INFO] [stderr]                = note: required for `Box<(dyn std::error::Error + Send + Sync + 'static)>` to implement `From<E>`
[INFO] [stderr]                = note: required for `E` to implement `Into<Box<(dyn std::error::Error + Send + Sync + 'static)>>`
[INFO] [stderr]            note: required by a bound in `std::io::Error::new`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/io/error.rs:255:4
[INFO] [stderr]            help: consider further restricting type parameter `E` with trait `Sync`
[INFO] [stderr]                |
[INFO] [stderr]            153 |     E: Into<Box<dyn (::std::error::Error + Send + Sync)>> + std::marker::Sync,
[INFO] [stderr]                |                                                           +++++++++++++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 4 previous errors
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            For more information about this error, try `rustc --explain E0277`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/spanned.rs:153:17
[INFO] [stdout]     |
[INFO] [stdout] 153 |     E: Into<Box<::std::error::Error + Send + Sync>>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `--force-warn bare-trait-objects` implied by `--force-warn rust-2021-compatibility`
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 153 |     E: Into<Box<dyn (::std::error::Error + Send + Sync)>>,
[INFO] [stdout]     |                 +++++                                 +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: errors present after applying fixes to crate `luther`
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/spanned.rs:153:17
[INFO] [stdout]     |
[INFO] [stdout] 153 |     E: Into<Box<::std::error::Error + Send + Sync>>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `--force-warn bare-trait-objects` implied by `--force-warn rust-2021-compatibility`
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 153 |     E: Into<Box<dyn (::std::error::Error + Send + Sync)>>,
[INFO] [stdout]     |                 +++++                                 +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  --> src/spanned.rs
[INFO] [stderr]   = cause: error: incorrect parentheses around trait bounds
[INFO] [stderr]               --> src/spanned.rs:153:21
[INFO] [stderr]                |
[INFO] [stderr]            153 |     E: Into<Box<dyn (::std::error::Error + Send + Sync)>>,
[INFO] [stderr]                |                     ^                                 ^
[INFO] [stderr]                |
[INFO] [stderr]            help: fix the parentheses
[INFO] [stderr]                |
[INFO] [stderr]            153 -     E: Into<Box<dyn (::std::error::Error + Send + Sync)>>,
[INFO] [stderr]            153 +     E: Into<Box<(dyn ::std::error::Error + Send + Sync)>>,
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `E: Into<Box<(dyn std::error::Error + Send + Sync + 'static)>>` is not satisfied
[INFO] [stderr]               --> src/spanned.rs:155:48
[INFO] [stderr]                |
[INFO] [stderr]            155 |     io::Error::new(io::ErrorKind::InvalidData, error)
[INFO] [stderr]                |     --------------                             ^^^^^ the trait `std::error::Error` is not implemented for `E`
[INFO] [stderr]                |     |
[INFO] [stderr]                |     required by a bound introduced by this call
[INFO] [stderr]                |
[INFO] [stderr]                = note: required for `Box<(dyn std::error::Error + Send + Sync + 'static)>` to implement `From<E>`
[INFO] [stderr]                = note: required for `E` to implement `Into<Box<(dyn std::error::Error + Send + Sync + 'static)>>`
[INFO] [stderr]            note: required by a bound in `std::io::Error::new`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/io/error.rs:255:4
[INFO] [stderr]            help: consider further restricting type parameter `E` with trait `Error`
[INFO] [stderr]                |
[INFO] [stderr]            153 |     E: Into<Box<dyn (::std::error::Error + Send + Sync)>> + std::error::Error,
[INFO] [stderr]                |                                                           +++++++++++++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `E: Into<Box<(dyn std::error::Error + Send + Sync + 'static)>>` is not satisfied
[INFO] [stderr]               --> src/spanned.rs:155:48
[INFO] [stderr]                |
[INFO] [stderr]            155 |     io::Error::new(io::ErrorKind::InvalidData, error)
[INFO] [stderr]                |     --------------                             ^^^^^ the trait `Send` is not implemented for `E`
[INFO] [stderr]                |     |
[INFO] [stderr]                |     required by a bound introduced by this call
[INFO] [stderr]                |
[INFO] [stderr]                = note: required for `Box<(dyn std::error::Error + Send + Sync + 'static)>` to implement `From<E>`
[INFO] [stderr]                = note: required for `E` to implement `Into<Box<(dyn std::error::Error + Send + Sync + 'static)>>`
[INFO] [stderr]            note: required by a bound in `std::io::Error::new`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/io/error.rs:255:4
[INFO] [stderr]            help: consider further restricting type parameter `E` with trait `Send`
[INFO] [stderr]                |
[INFO] [stderr]            153 |     E: Into<Box<dyn (::std::error::Error + Send + Sync)>> + std::marker::Send,
[INFO] [stderr]                |                                                           +++++++++++++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `E: Into<Box<(dyn std::error::Error + Send + Sync + 'static)>>` is not satisfied
[INFO] [stderr]               --> src/spanned.rs:155:48
[INFO] [stderr]                |
[INFO] [stderr]            155 |     io::Error::new(io::ErrorKind::InvalidData, error)
[INFO] [stderr]                |     --------------                             ^^^^^ the trait `Sync` is not implemented for `E`
[INFO] [stderr]                |     |
[INFO] [stderr]                |     required by a bound introduced by this call
[INFO] [stderr]                |
[INFO] [stderr]                = note: required for `Box<(dyn std::error::Error + Send + Sync + 'static)>` to implement `From<E>`
[INFO] [stderr]                = note: required for `E` to implement `Into<Box<(dyn std::error::Error + Send + Sync + 'static)>>`
[INFO] [stderr]            note: required by a bound in `std::io::Error::new`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/io/error.rs:255:4
[INFO] [stderr]            help: consider further restricting type parameter `E` with trait `Sync`
[INFO] [stderr]                |
[INFO] [stderr]            153 |     E: Into<Box<dyn (::std::error::Error + Send + Sync)>> + std::marker::Sync,
[INFO] [stderr]                |                                                           +++++++++++++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 4 previous errors
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            For more information about this error, try `rustc --explain E0277`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stderr]    Migrating tests/token_tests.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.55s
[INFO] [stderr] crater-edition-check: luther v0.1.0 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]     Checking luther v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/spanned.rs:153:17
[INFO] [stdout]     |
[INFO] [stdout] 153 |     E: Into<Box<::std::error::Error + Send + Sync>>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 153 |     E: Into<Box<dyn (::std::error::Error + Send + Sync)>>,
[INFO] [stdout]     |                 +++++                                 +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/spanned.rs:153:17
[INFO] [stdout]     |
[INFO] [stdout] 153 |     E: Into<Box<::std::error::Error + Send + Sync>>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 153 |     E: Into<Box<dyn (::std::error::Error + Send + Sync)>>,
[INFO] [stdout]     |                 +++++                                 +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0782`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `luther` (lib) due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] For more information about this error, try `rustc --explain E0782`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `luther` (lib test) due to 1 previous error
[INFO] running `Command { std: "docker" "inspect" "bf04756ea8f8599c8052aa8662bc29e2752e7ba68c44caf1e3281edbfc7eded2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bf04756ea8f8599c8052aa8662bc29e2752e7ba68c44caf1e3281edbfc7eded2", kill_on_drop: false }`
[INFO] [stdout] bf04756ea8f8599c8052aa8662bc29e2752e7ba68c44caf1e3281edbfc7eded2
